5fcbac7733c5d424269a1a93

About
This is a very easy crackme. In fact I’d rate this the best “first” crackme for anyone starting out with reverse engineering. This crackme basically wants you to obtain the correct password for this binary provided. Link to this crackme is here
Diving in
So we start out with running the binary.

clearly, my_password is the wrong password. so opening this binary in IDA reveals very interesting things. Upon generating pseudo code, we can see 2 major things that interest us the most aka block A and block B. Block A is the hash function and block B is the check is the user generated hash matches the hard coded hash.

We dive in the hash function (Block A) and at the same time keep in mind the hash “pcx|xpzlhgu}”

very easy hashing going on..in fact i would like to point out this is not hashing, this is encoding to be fair. Then i wrote a small code to see what the rand() function is spitting out given the seed is 28.


So we are getting the output “025911883624”, need this later. Moving on we can see some string manipulation going on. v4 characters are being shifted by v5 characters. Therefore we need to subtract v5 from v4.

having done the necessary bullshit, we have finally decoded the password.
